When a user accesses a web application, the application must determine the appropriate language to use to resolve the application. Generally, an application may resolve a language by using a variety of sources including: a URL parameter, cookies, a browser accept-language, a user agent, a domain, and an IP address. A URL parameter includes computer-readable code, such as “hl=” followed by a language tag, included in a URL to the desired language a user would like a webpage to display. A cookie can include computer-readable code that can transmit state information from a webpage to a user's browser and from a user's browser to the webpage. The “accept-language” computer readable code specifies the languages a browser may use. The languages can be specified in BCP-47 language tags. A user agent can refer to a client application that communicates with a network. A web browser, such as Mozilla, Safari, or Internet Explorer, constitutes a user agent. A domain can refer to an area of control on a network such as the internet. A domain may indicate a language that is available for any traffic in its space. A user's IP address contains information about the location of the user and this information can be used to display a web page based on the geolocation of the user. But using these language indicators alone ignores potential language inputs from the user and other ascertainable sources.
Multilingual individuals may not prefer to use their primary language for a specific application or their primary language may not be available for a specific application. Currently, language selections typically are tied to a web browser or to a specific computing device, and not to the user. For example, a user can make a language selection for a web application and the application may save the user's language selection in a cookie, which can be tied to the computing device the user is using. If the user attempts to utilize the web application from a different computer or if the user clears the web browser's cookies, the user must reenter the language selection for the application upon accessing it again. Likewise, the user might attempt to utilize a second web application that does not support the language the user selected in the first web application. In this case, the user must make a new language selection in the second web application from the available languages. But, some individuals may prefer to use a different language for a specific application. Conventional language selection techniques typically do not allow a user to set such an override; instead, they rely on the user to directly set the language, or use automatic language identifiers or similar techniques to set the language.